﻿using Persistencia;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dlls
{
    public class EmpresasDLL
    {
        private Context context;

        public EmpresasDLL() 
        {
            context = new Context();
        }

        public IEnumerable<Empresa> List()
        {
            return (from o in context.Empresas select o).ToList();
        }

        public void Insert(Empresa empresa)
        {
            context.Empresas.InsertOnSubmit(empresa);
            context.SubmitChanges();
        }

        public void Update(int codigo, Empresa empresa)
        {
            Empresa emp = context.Empresas.SingleOrDefault(e => e.Codigo == codigo);

            emp.Nome = empresa.Nome;
            emp.CNPJ = empresa.CNPJ;
            emp.Telefone = empresa.Telefone;
            emp.Telefone2 = empresa.Telefone2;
            emp.Endereco = empresa.Endereco;
            emp.Cep = empresa.Cep;
            emp.Cidade = empresa.Cidade;
            emp.Numero = empresa.Numero;
            emp.Bairro = empresa.Bairro;
            emp.UF = empresa.UF;
            emp.PontoReferencia = empresa.PontoReferencia;
            emp.Banco = empresa.Banco;
            emp.Contato = empresa.Contato;
            emp.Email = empresa.Email;
            emp.Servidor = empresa.Servidor;
            emp.strConnectionResult = empresa.strConnectionResult;
            emp.TipoEmpresa = empresa.TipoEmpresa;
            emp.VersaoBanco = empresa.VersaoBanco;
            emp.RazaoSocial = empresa.Nome;
            emp.NomeFantasia = empresa.NomeFantasia;
            emp.Complemento = empresa.Complemento;
            emp.InscricaoEstadual = empresa.InscricaoEstadual;

            context.SubmitChanges();
        }

        public void Delete(Empresa empresa)
        {
            context.Empresas.DeleteOnSubmit(empresa);
            context.SubmitChanges();
        }

        public Empresa getEmpresa(int codigo)
        { 
            return context.Empresas.SingleOrDefault(e => e.Codigo == codigo);
        }

        public Empresa ReturnEmpresa()
        {
            return context.Empresas.SingleOrDefault();
        }

    }
}
